#ifndef __GENERAL_DATE_TIME_H__
  #define __GENERAL_DATE_TIME_H__

//! A struct representing the date
struct general_date {
  unsigned short year;
  unsigned short month;
  unsigned short day;
}; // struct general_date

//! A struct representing the time
struct general_time {
  unsigned short hour;
  unsigned short minute;
  unsigned short second;
  unsigned short millisecond;
}; // struct general_time

bool operator==(const general_date &gd1, const general_date &gd2);
bool operator==(const general_time &gt1, const general_time &gt2);

bool operator>(const general_date &gd1, const general_date &gd2);
bool operator<(const general_date &gd1, const general_date &gd2);

bool operator>(const general_time &gt1, const general_time &gt2);
bool operator<(const general_time &gt1, const general_time &gt2);

bool operator>=(const general_date &gd1, const general_date &gd2);
bool operator<=(const general_date &gd1, const general_date &gd2);

bool operator>=(const general_time &gt1, const general_time &gt2);
bool operator<=(const general_time &gt1, const general_time &gt2);

#endif
